<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: SysLib       (System Library)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__syslib.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a>  </div>
  <div class="headertitle">
<div class="title">SysLib (System Library)</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The system libraries provide APIs that can be called in the user application to handle the timing, logical checking or register. </p>
<p>The functions and other declarations used in this driver are in cy_syslib.h. You can include cy_pdl.h to get access to all functions and declarations in the PDL.</p>
<p>The SysLib driver contains a set of different system functions. These functions can be called in the application routine. Major features of the system library:</p><ul>
<li>Delay functions</li>
<li>The register Read/Write macro</li>
<li>Assert and Halt</li>
<li>Assert Classes and Levels</li>
<li>A software reset</li>
<li>Reading the reset cause</li>
<li>An API to invalidate the flash cache and buffer</li>
<li>Data manipulation macro</li>
<li>A variable type definition from MISRA-C which specifies signedness</li>
<li>Cross compiler compatible attributes</li>
<li>Getting a silicon-unique ID API</li>
<li>Setting wait states API</li>
<li>Resetting the backup domain API</li>
<li>APIs to serve Fault handler</li>
</ul>
<h1><a class="anchor" id="group_syslib_configuration"></a>
Configuration Considerations</h1>
<p><b> Assertion Usage </b> <br />
 Use the CY_ASSERT() macro to check expressions that must be true if the program is running correctly. It is a convenient way to insert sanity checks. The CY_ASSERT() macro is defined in the cy_utils.h file, which is part of the <a href="https://github.com/Infineon/core-lib">Cypress Core Library (core-lib)</a>. The macro behavior is as follows: if the expression passed to the macro is false, the CPU is halted. <br />
 Starting from the driver version 2.50, the CY_ASSERT macro was moved to the Cypress Core Library (core-lib). Also, the CY_ASSERT implementation was changed not to call <a class="el" href="group__group__syslib__functions.html#ga0fe70e0948f5d2b2fb1615b85b0d7d7a" title="This function stores the ASSERT location of the file name (including path to file) and line number in...">Cy_SysLib_AssertFailed()</a> function, so user application that relied on that should take this change into account. <br />
</p>
<p>The PDL source code uses this assert mechanism extensively. It is recommended that you enable asserts when debugging firmware. <br />
<b> Assertion Classes and Levels </b> <br />
 The <a href="https://github.com/Infineon/core-lib">Cypress Core Library</a> defines three assert classes, which correspond to different kinds of parameters. There is a corresponding assert "level" for each class. </p><table class="doxtable">
<tr>
<th>Class Macro</th><th>Level Macro</th><th>Type of check </th></tr>
<tr>
<td>CY_ASSERT_CLASS_1 </td><td>CY_ASSERT_L1 </td><td>A parameter that could change between different PSoC devices (e.g. the number of clock paths)  </td></tr>
<tr>
<td>CY_ASSERT_CLASS_2 </td><td>CY_ASSERT_L2 </td><td>A parameter that has fixed limits such as a counter period  </td></tr>
<tr>
<td>CY_ASSERT_CLASS_3 </td><td>CY_ASSERT_L3 </td><td>A parameter that is an enum constant  </td></tr>
</table>
<p>Firmware defines which ASSERT class is enabled by defining CY_ASSERT_LEVEL. This is a compiler command line argument, similar to how the DEBUG / NDEBUG macro is passed. <br />
Enabling any class also enables any lower-numbered class. CY_ASSERT_CLASS_3 is the default level, and it enables asserts for all three classes. The following example shows the command-line option to enable all the assert levels: </p><div class="fragment"><div class="line">-D <a class="code" href="group__group__syslib__macros__assert.html#gaac6d3358f192068b723bc4bb50a06967">CY_ASSERT_LEVEL</a>=<a class="code" href="group__group__syslib__macros__assert.html#ga519c4c299506f8a54e3a99e58a435f0a">CY_ASSERT_CLASS_3</a> </div></div><!-- fragment --> <dl class="section note"><dt>Note</dt><dd>The use of special characters, such as spaces, parenthesis, etc. must be protected with quotes.</dd></dl>
<p>After CY_ASSERT_LEVEL is defined, firmware can use one of the three level macros to make an assertion. For example, if the parameter can vary between devices, firmware uses the L1 macro. </p><div class="fragment"><div class="line"><a class="code" href="group__group__syslib__macros__assert.html#gabb4e5c6e694fe418794cbd8f93301532">CY_ASSERT_L1</a>(clkPath &lt; SRSS_NUM_CLKPATH); </div></div><!-- fragment --><p> If the parameter has bounds, firmware uses L2. </p><div class="fragment"><div class="line"><a class="code" href="group__group__syslib__macros__assert.html#gae6c8c534d15ba72d74dc23b384a28bf0">CY_ASSERT_L2</a>(trim &lt;= CY_CTB_TRIM_VALUE_MAX); </div></div><!-- fragment --><p> If the parameter is an enum, firmware uses L3. </p><div class="fragment"><div class="line"><a class="code" href="group__group__syslib__macros__assert.html#gaea99c6824b32df70dbeb97d87d5410a1">CY_ASSERT_L3</a>(config-&gt;LossAction &lt;= CY_SYSCLK_CSV_ERROR_FAULT_RESET); </div></div><!-- fragment --><p> Each check uses the appropriate level macro for the kind of parameter being checked. If a particular assert class/level is not enabled, then the assert does nothing.</p>
<p><b> Delay Functions </b> <br />
 Delay functions are supported with different flavors of delays and are implemented by executing known instructions in a loop considering the CPU cycles consumed by these instructions to execute. The loop count is calculated based on the amount of delay required. Cycles taken for the execution of instructions has a direct impact on the accuracy of the delay. For the best accuracy of delay, these functions need to be executed from the single cycle memory. CAT1B, CAT1C and CAT1D devices have I-Cache which ensures the accuracy of the delay as the loop executes from the I-Cache. However, for the devices without I-Cache, user needs to move these functions to faster memory, such as SRAM using appropriate memory section directive listed in the cy_syslib.h file. On devices with CM33 Core, user must ensure that the code is executed using C-BUS. This ensures the execution of the code happens through I-Cache. <br />
 </p>
<h1><a class="anchor" id="group_syslib_more_information"></a>
More Information</h1>
<p>Refer to the technical reference manual (TRM).</p>
<h1><a class="anchor" id="group_syslib_changelog"></a>
Changelog</h1>
<table class="doxtable">
<tr>
<th>Version</th><th>Changes</th><th>Reason for Change </th></tr>
<tr>
<td>3.80 </td><td>Coverity fixes and added new API <a class="el" href="group__group__syslib__functions.html#ga8e96d4a4aed60c9d7e8c186951147c95">Cy_SysLib_GetDeviceLCS</a> for PSoC C3 (CAT1B). </td><td>Code enhancement and new functionality.  </td></tr>
<tr>
<td>3.70 </td><td>Updated API <a class="el" href="group__group__syslib__functions.html#gaaa8fb5b7a16fbdfd60cf44d5d8f2c977">Cy_SysLib_GetUniqueId</a> and added new <a class="el" href="group__group__syslib__functions.html#gafdb346d0131659f401e2b9d83ea6864d">Cy_Syslib_IsMemCacheable</a>. </td><td>Code enhancement.  </td></tr>
<tr>
<td>3.60 </td><td>Updated API <a class="el" href="group__group__syslib__functions.html#gaaa8fb5b7a16fbdfd60cf44d5d8f2c977">Cy_SysLib_GetUniqueId</a>, added section for unified linker script update </td><td>Code enhancement and bug fixes to enable API compilation for PSoC C3 (CAT1B).  </td></tr>
<tr>
<td>3.50 </td><td>Added support for TRAVEO&trade; II Body Entry devices.<br />
 Pre-processor check for MXS40SRSS version now groups ver. 2 with ver. 3. Previously ver. 2 was grouped with ver. 1. Some pre-processor checks for if the device has a CM4 now also require device to not be HT_Variant to exclude TVIIBE and CAT1C devices. </td><td>Code enhancement and support for new devices.  </td></tr>
<tr>
<td rowspan="2">3.40 </td><td>Newly added API <a class="el" href="group__group__syslib__functions.html#ga8e96d4a4aed60c9d7e8c186951147c95">Cy_SysLib_GetDeviceLCS</a> and enum <a class="el" href="group__group__syslib__enumerated__types.html#ga3ff462c7740be4b6a2c2d9fbe4282666">cy_en_syslib_lcs_mode_t</a>  </td><td>Support of LCS added for CAT1D devices .  </td></tr>
<tr>
<td>Updated API <a class="el" href="group__group__syslib__functions.html#ga8b897f8554957f9393f645d5ab1106c9">Cy_SysLib_SetWaitStates</a> and added new macros. </td><td>Enabled wait-states API for CAT1C devices.  </td></tr>
<tr>
<td>3.30 </td><td>Added <a class="el" href="group__group__syslib__functions.html#gaf3ef05b9419cbb446a501f4a49e233aa">Cy_SysLib_IsDSRAMWarmBootEntry</a> and <a class="el" href="group__group__syslib__functions.html#gac340f219d12ebdccb28c370bc3740c34">Cy_SysLib_ClearDSRAMWarmBootEntryStatus</a> APIs. </td><td>DEEPSLEEP-RAM support added for CAT1B Devices.  </td></tr>
<tr>
<td>3.20 </td><td>Updated <a class="el" href="group__group__syslib__functions.html#gaad1c32546fdb0e3c6fa8b46fb95843b5" title="The function delays by the specified number of milliseconds. ">Cy_SysLib_Delay()</a> to perform correctly, enable <a class="el" href="group__group__syslib__functions.html#gaaa8fb5b7a16fbdfd60cf44d5d8f2c977" title="This function returns the silicon unique ID. ">Cy_SysLib_GetUniqueId()</a> API for CAT1B, coverity fixes and documentation enhancements. <br />
 Added CY_SECTION_INIT_CODECOPY_START and CY_SECTION_INIT_CODECOPY_END macro to move block of code from flash to sram during startup init. Currently it only supports in IAR build. </td><td>Bug Fixes and Enhancements.  </td></tr>
<tr>
<td>3.10 </td><td>CAT1B, CAT1C, CAT1D devices support.<br />
Added new API <a class="el" href="group__group__syslib__functions.html#gabc2fac2da2d735bedac2a57d45d53fac" title="This function will set Warm boot entry point address to a location read by BootROM. ">Cy_Syslib_SetWarmBootEntryPoint()</a> to set the warm boot entry point address to a location read by BootROM.<br />
 To get the accurate delay, updated <a class="el" href="group__group__syslib__functions.html#gaad1c32546fdb0e3c6fa8b46fb95843b5" title="The function delays by the specified number of milliseconds. ">Cy_SysLib_Delay()</a>, <a class="el" href="group__group__syslib__functions.html#ga9d2ffe4829c636ad78eaae5043fd6ae6" title="The function delays by the specified number of microseconds. ">Cy_SysLib_DelayUs()</a> with a calibration factor. </td><td>Support for new devices.  </td></tr>
<tr>
<td>3.0 </td><td>Updated <a class="el" href="group__group__syslib__functions.html#gadc7497a4146c1881fe54b655b4324297">Cy_SysLib_SoftResetCM4</a> to perform correctly when function is called multiple times. </td><td>Fixed issue which caused IPC Message to Fail if API is called more than once.  </td></tr>
<tr>
<td rowspan="2">2.90 </td><td>Added new functions <a class="el" href="group__group__syslib__functions.html#ga6f18ab2d6141a84a2be60279096eca59">Cy_SysLib_Rtos_Delay</a>, <a class="el" href="group__group__syslib__functions.html#ga2688a50431e6083a707290f3ad91356a">Cy_SysLib_Rtos_DelayUs</a>. </td><td>Provide user an option to overwrite delay function implementation based on target RTOS environment.  </td></tr>
<tr>
<td>Added new functions <a class="el" href="group__group__syslib__functions.html#ga75a8dcfd38fd9be3c184f8e3cc787b01">Cy_SysLib_GetResetStatus</a>, <a class="el" href="group__group__syslib__functions.html#gaf6500ec02ee0eb644fdcdf676f2a2f74">Cy_SysLib_GetWcoTrim</a> and <a class="el" href="group__group__syslib__functions.html#gab6dcb34b4422166da214066ab03c633d">Cy_SysLib_SetWcoTrim</a>. </td><td>Add a possibility to manage the backup domain reset better and to store/restore the WCO trimming value.  </td></tr>
<tr>
<td rowspan="2">2.80 </td><td>Support for CM33. </td><td>New devices support.  </td></tr>
<tr>
<td>Update <a class="el" href="group__group__syslib__functions.html#gac8aa61d2f8052886c676f4f592d1693d">Cy_SysLib_GetResetReason</a> API to read RES_CAUSE2 register as well. </td><td>Code Enhancement/Bug Fix.  </td></tr>
<tr>
<td rowspan="4">2.70 </td><td>Added new macros CY_SECTION_RAMFUNC_BEGIN, CY_SECTION_RAMFUNC_END, CY_SECTION_SHAREDMEM to enable overriding of the linker section placement. </td><td>Enhancement based on usability feedback.  </td></tr>
<tr>
<td>Noted that implementation of CY_ASSERT() was changed back in version 2.50, so that <a class="el" href="group__group__syslib__functions.html#ga0fe70e0948f5d2b2fb1615b85b0d7d7a" title="This function stores the ASSERT location of the file name (including path to file) and line number in...">Cy_SysLib_AssertFailed()</a> function is not called and user application may need to be updated. </td><td>Documentation update.  </td></tr>
<tr>
<td>Removed the issue related to the malloc() failure to report error for the case when requested allocation size is bigger than the heap size. Refer to the <a class="el" href="group__group__system__config__cm4.html#group_system_config_heap_stack_config_gcc">ARM GCC</a> section for the more details. Removed empty Known Issues section. </td><td>Documentation update and clarification.  </td></tr>
<tr>
<td>Fixed/Documented MISRA 2012 violations. </td><td>MISRA 2012 compliance.  </td></tr>
<tr>
<td>2.60.1 </td><td>Updated the Configuration Considerations section with the information that CY_ASSERT() macro is defined in the cy_utils.h file, which is part of the <a href="https://github.com/Infineon/core-lib">Cypress Core Library (core-lib)</a> </td><td>Documentation update and clarification.  </td></tr>
<tr>
<td rowspan="2">2.60 </td><td>Updated the following functions for the PSoC 64 devices: <a class="el" href="group__group__syslib__functions.html#ga1691f4df41994e7ed9c30ec6495d925f">Cy_SysLib_ClearFlashCacheAndBuffer</a>, <a class="el" href="group__group__syslib__functions.html#gaebb4e952584f0c428f58f7b4dbd3ceff">Cy_SysLib_ClearResetReason</a>, <a class="el" href="group__group__syslib__functions.html#ga8b897f8554957f9393f645d5ab1106c9">Cy_SysLib_SetWaitStates</a>. </td><td>Added PSoC 64 device support.  </td></tr>
<tr>
<td>Minor documentation updates. </td><td>Documentation enhancement.  </td></tr>
<tr>
<td>2.50.3 </td><td>Add section Known Issues </td><td>Documentation update and clarification.  </td></tr>
<tr>
<td>2.50.1 </td><td>Used the core library defines for the message codes forming. </td><td>Improve PDL code base.  </td></tr>
<tr>
<td>2.50 </td><td>Moved following macros to the core library: CY_LO8,CY_HI8,CY_LO16,CY_HI16,CY_SWAP_ENDIAN16,CY_SWAP_ENDIAN32, CY_SWAP_ENDIAN64,CY_GET_REG8,CY_SET_REG8,CY_GET_REG16,CY_SET_REG16, CY_GET_REG24,CY_SET_REG24,CY_GET_REG32,CY_SET_REG32,_CLR_SET_FLD32U, CY_REG32_CLR_SET,_CLR_SET_FLD16U,CY_REG16_CLR_SET,_CLR_SET_FLD8U, CY_REG8_CLR_SET,_BOOL2FLD,_FLD2BOOL,CY_SYSLIB_DIV_ROUND, CY_SYSLIB_DIV_ROUNDUP,CY_NOINIT,CY_SECTION,CY_UNUSED,CY_NOINLINE, CY_ALIGN,CY_RAMFUNC_BEGIN,CY_RAMFUNC_END. Use at least version 1.1 of the core library: <a href="https://github.com/Infineon/core-lib">https://github.com/Infineon/core-lib</a>. </td><td>Improve PDL code base.  </td></tr>
<tr>
<td>2.40.1 </td><td>Correct the CY_RAMFUNC_BEGIN macro for the IAR compiler. </td><td>Removed the IAR compiler warning.  </td></tr>
<tr>
<td>2.40 </td><td>Added new macros CY_SYSLIB_DIV_ROUND and CY_SYSLIB_DIV_ROUNDUP to easy perform integer division with rounding. </td><td>Improve PDL code base.  </td></tr>
<tr>
<td rowspan="3">2.30 </td><td>Updated implementation of the Cy_SysLib_AsmInfiniteLoop() function to be compatible with ARMC6. </td><td>Provided support for the ARM Compiler 6.  </td></tr>
<tr>
<td>Minor documentation edits. </td><td>Documentation update and clarification.  </td></tr>
<tr>
<td>Added new macros CY_RAMFUNC_BEGIN and CY_RAMFUNC_END for convenient placement function in RAM for all supported compilers. </td><td>Improve user experience.  </td></tr>
<tr>
<td rowspan="2">2.20 </td><td>Updated implementation of the <a class="el" href="group__group__syslib__functions.html#ga0fe70e0948f5d2b2fb1615b85b0d7d7a">Cy_SysLib_AssertFailed()</a> function to be available in Release and Debug modes. </td><td>Provided support for the PDL static library in Release mode.  </td></tr>
<tr>
<td>Minor documentation edits. </td><td>Documentation update and clarification.  </td></tr>
<tr>
<td rowspan="4">2.10 </td><td>Flattened the organization of the driver source code into the single source directory and the single include directory. </td><td>Driver library directory-structure simplification.  </td></tr>
<tr>
<td>Added the following macros: CY_REG32_CLR_SET, _CLR_SET_FLD16U, CY_REG16_CLR_SET, _CLR_SET_FLD8U, CY_REG8_CLR_SET </td><td>Register access simplification.  </td></tr>
<tr>
<td>Removed the Cy_SysLib_GetNumHfclkResetCause API function. </td><td>This feature is not supported by SRSS_ver1.  </td></tr>
<tr>
<td>Added register access layer. Use register access macros instead of direct register access using dereferenced pointers. </td><td>Makes register access device-independent, so that the PDL does not need to be recompiled for each supported part number.  </td></tr>
<tr>
<td>2.0.1 </td><td>Minor documentation edits </td><td>Documentation update and clarification  </td></tr>
<tr>
<td rowspan="4">2.0 </td><td>Added <a class="el" href="group__group__syslib__functions.html#gadb2c8e123ba3a0376a14871e58230321" title="This function resets the backup domain power to avoid the ILO glitch. ">Cy_SysLib_ResetBackupDomain()</a> API implementation. <br />
Added CY_NOINLINE attribute implementation. <br />
Added DIE_YEAR field to 64-bit unique ID return value of <a class="el" href="group__group__syslib__functions.html#gaaa8fb5b7a16fbdfd60cf44d5d8f2c977" title="This function returns the silicon unique ID. ">Cy_SysLib_GetUniqueId()</a> API. <br />
Added storing of SCB-&gt;HFSR, SCB-&gt;SHCSR registers and SCB-&gt;MMFAR, SCB-&gt;BFAR addresses to Fault Handler debug structure. <br />
Optimized <a class="el" href="group__group__syslib__functions.html#ga8b897f8554957f9393f645d5ab1106c9" title="Sets the number of clock cycles the cache will wait for, before it samples data coming back from ROM...">Cy_SysLib_SetWaitStates()</a> API implementation.  </td><td>Improvements made based on usability feedback.  </td></tr>
<tr>
<td>Added Assertion Classes and Levels. </td><td>For error checking, parameter validation and status returns in the PDL API.  </td></tr>
<tr>
<td>Applied CY_NOINIT attribute to cy_assertFileName, cy_assertLine, and cy_faultFrame global variables. </td><td>To store debug information into a non-zero init area for future analysis.  </td></tr>
<tr>
<td>Removed CY_WEAK attribute implementation. </td><td>CMSIS __WEAK attribute should be used instead.  </td></tr>
<tr>
<td>1.0 </td><td>Initial version </td><td></td></tr>
</table>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__syslib__macros"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__syslib__macros.html">Macros</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__syslib__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__syslib__functions.html">Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__syslib__data__structures"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__syslib__data__structures.html">Data Structures</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__syslib__enumerated__types"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__syslib__enumerated__types.html">Enumerated Types</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
